home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / zbpc_460.zip / GAMES.EXE / KILLER.BAS next >
BASIC Source File  |  1990-06-16  |  4KB  |  133 lines

  1. 00010 REM **********************************************
  2. 00020 REM *               KILLER GAME                  *
  3. 00030 REM *         Written by:  Scott Terry           *
  4. 00040 REM *  (Note: use cursor pad with Num-Lock ON)   *
  5. 00050 REM **********************************************
  6. 00060 DEFINT A-Z
  7. 00070 DIM XMAN(60),YMAN(60),SHIT(60)
  8. 00080 LEVEL=5:XSIZE=80:YSIZE=25:SC=0
  9. 00090 "START"
  10. 00100 GOSUB "SCREEN SETUP"
  11. 00110 GOSUB "KILLER SETUP"
  12. 00120 "BEGIN MOVING"
  13. 00130 GOSUB "MOVE HOME"
  14. 00140 DEAD=0
  15. 00150 GOSUB "MOVE KILLERS"
  16. 00160 IF FL=0 AND DEAD=0 THEN "BEGIN MOVING"
  17. 00170 IF FL=1 THEN "NEXT LEVEL" ELSE "YOU LOSE!"
  18. 00180 STOP
  19. 00190 "HOME AGAIN"
  20. 00200 X=X2 : Y=Y2
  21. 00210 PRINT@(X,Y) CHR$(2);
  22. 00220 "MOVE HOME"
  23. 00230 DO : UNTIL INKEY$=""
  24. 00240 A$=INKEY$ : IF A$="" THEN 240
  25. 00250 PRINT@(X,Y)" "; : X2=X : Y2=Y
  26. 00260 ON VAL(A$)+1 GOTO 410,270,280,290,300,350,310,320,330,340,410
  27. 00270 X=X-1:Y=Y+1:GOTO 350
  28. 00280 Y=Y+1:GOTO 350
  29. 00290 X=X+1:Y=Y+1:GOTO 350
  30. 00300 X=X-1:GOTO 350
  31. 00310 X=X+1:GOTO 350
  32. 00320 X=X-1:Y=Y-1:GOTO 350
  33. 00330 Y=Y-1:GOTO 350
  34. 00340 X=X+1:Y=Y-1
  35. 00350 IF X<1 THEN "HOME AGAIN"
  36. 00360 IF X>XSIZE-2 THEN "HOME AGAIN"
  37. 00370 IF Y=0 THEN "HOME AGAIN"
  38. 00380 IF Y>YSIZE-3 THEN "HOME AGAIN"
  39. 00390 PRINT@(X,Y)CHR$(2);
  40. 00400 RETURN
  41. 00410 K=INSTR(1,"QRTLS",A$)
  42. 00420 ON K GOTO 440,450,460,640,560
  43. 00430 PRINT@(X,Y)CHR$(2); : RETURN "BEGIN MOVING"
  44. 00440 END
  45. 00450 RUN
  46. 00460 "TELEPORT"
  47. 00470 X=RND(XSIZE-2):Y=RND(YSIZE-3)
  48. 00480 FOR I=1 TO LEVEL
  49. 00490   TRON X
  50. 00500   IF XMAN(I)=X AND YMAN(I)=Y THEN 470
  51. 00510 NEXT
  52. 00520 I=1000
  53. 00530 PRINT@(X,Y)CHR$(2);
  54. 00540 SOUND I,30 : DELAY 200
  55. 00550 RETURN
  56. 00560 "SONIC"
  57. 00570 IF SFLAG=1 THEN 430 ELSE SFLAG=1
  58. 00580 MOVE=1 : GOSUB "PLOT KILLERS"
  59. 00590 FOR I=1 TO LEVEL
  60. 00600   IF SHIT(I)=0 AND ABS(X-XMAN(I))<=1 AND ABS(Y-YMAN(I))<=1 THEN SHIT(I)=2 : SC=SC+20 : PRINT@(56,YSIZE-1)SC;
  61. 00610 NEXT
  62. 00620 MOVE=0 : GOSUB "PLOT KILLERS"
  63. 00630 I=500 : GOTO 530
  64. 00640 "LAST STAND"
  65. 00650 PRINT@(X,Y)CHR$(2);
  66. 00660 GOSUB "MOVE KILLERS"
  67. 00670 IF FL=0 AND DEAD=0 THEN 660
  68. 00680 IF FL=1 THEN "NEXT LEVEL" ELSE "YOU LOSE!"
  69. 00690 "MOVE KILLERS"
  70. 00700 MOVE=1 : GOSUB "PLOT KILLERS"
  71. 00710 FOR I=1 TO LEVEL
  72. 00720   LONG IF SHIT(I)=0
  73. 00730     XMAN(I)=XMAN(I)-SGN(XMAN(I)-X)
  74. 00740     YMAN(I)=YMAN(I)-SGN(YMAN(I)-Y)
  75. 00750   END IF
  76. 00760   IF X=XMAN(I) AND Y=YMAN(I) AND SHIT(I)<>2 THEN DEAD = 1
  77. 00770 NEXT
  78. 00780 MOVE=0 : GOSUB "PLOT KILLERS"
  79. 00790 FOR I=LEVEL TO 2 STEP -1
  80. 00800   FOR J=1 TO I-1
  81. 00810     IF SHIT(I)=2 OR SHIT(J)=2 THEN 890
  82. 00820     IF SHIT(I)=1 AND SHIT(J)=1 THEN 890
  83. 00830     LONG IF XMAN(I)=XMAN(J) AND YMAN(I)=YMAN(J)
  84. 00840       SHIT(I)=1 : SHIT(J)=1
  85. 00850       PRINT@(XMAN(I),YMAN(I)) CHR$(15);
  86. 00860       SC=SC+10 : PRINT@(56,YSIZE-1) SC;
  87. 00870       SOUND 500,20
  88. 00880     END IF
  89. 00890 NEXT J,I
  90. 00900 FL=0
  91. 00910 FOR I=1 TO LEVEL
  92. 00920   IF SHIT(I)=0 THEN RETURN
  93. 00930 NEXT
  94. 00940 FL=1 : RETURN
  95. 00950 "KILLER SETUP"
  96. 00960 FOR I=1 TO LEVEL : XMAN(I)=RND(XSIZE-2) : YMAN(I)=RND(YSIZE-3) : SHIT(I)=0 : NEXT
  97. 00970 MOVE=0 : GOSUB "PLOT KILLERS"
  98. 00980 GOTO "TELEPORT"
  99. 00990 "PLOT KILLERS"
  100. 01000 FL=1
  101. 01010 FOR I=1 TO LEVEL
  102. 01020   IF SHIT(I)<>0 THEN 1060
  103. 01030   C$="X" : FL=0
  104. 01040   IF MOVE<>0 THEN C$=" "
  105. 01050   PRINT@(XMAN(I),YMAN(I))C$;
  106. 01060 NEXT
  107. 01070 RETURN
  108. 01080 "SCREEN SETUP"
  109. 01090 SFLAG=0
  110. 01100 MODE 11 : CLS : BOX 0,0 TO 1023,720
  111. 01110 LOCATE ,,0
  112. 01120 PRINT@(0,YSIZE-1)"(T)eleport,(L)ast stand,(S)onic screwdriver      Score: ";SC;"  Killers: ";LEVEL;
  113. 01130 RETURN
  114. 01140 "NEXT LEVEL"
  115. 01150 FOR I=200 TO 1800 STEP 40 : SOUND I,7 : NEXT
  116. 01160 FOR I=1 TO 5 : SOUND 300,30 : SOUND 330,30 : NEXT
  117. 01170 LEVEL = LEVEL + 5
  118. 01180 GOTO "START"
  119. 01190 "YOU LOSE!"
  120. 01200 READ I
  121. 01210 FOR J=1 TO I
  122. 01220   READ F,D : SOUND F,D
  123. 01230 NEXT
  124. 01240 RUN
  125. 01250 DATA 7
  126. 01260 DATA 780,300
  127. 01270 DATA 760,300
  128. 01280 DATA 740,300
  129. 01290 DATA 720,300
  130. 01300 DATA 700,500
  131. 01310 DATA 700,500
  132. 01320 DATA 700,500
  133.